/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/


// let p1 = new Promise((resolve, reject) => {
//   setTimeout(() => {
//     resolve('hello')
//   }, 10);
// })
// let p2 = new Promise((resolve, reject) => {
//   setTimeout(() => {
//     resolve('lagou')
//   }, 10);
// })
// let p3 = new Promise((resolve, reject) => {
//   setTimeout(() => {
//     resolve('I ♥ U')
//   }, 10);
// })

function promiseFun(str) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(str)
    }, 10);
  })
}

promiseFun('hello').then((val) => {
  return val += ' lagou'
}).then((val) => {
  return val += ' I ♥ U'
}).then((val) => {
  console.log(val);
})







